Conventional magnetic storage devices include a magnetic transducer or "head" suspended in close proximity to a recording medium, for example, a magnetic disk having a plurality of concentric tracks. The transducer is supported by an air-bearing slider mounted to a flexible suspension. The suspension in turn is attached to a positioning actuator. During normal operation, relative motion is provided between the head and the recording medium as the positioning actuator dynamically positions the head over the desired track. The information recorded on the magnetic disk is transmitted to a preamplifier which is in turn transmitted to a read channel. One example of read channels in use in todays technology is a PRML read channel.
The magnetic recording channel can be characterized as a channel with significant intersymbol interference, particularly at high recording densities. Partial response maximum likelihood (PRML) detection systems based on shaping the channel response to a suitable partial response have become a popular detection method for such channels. Partial responses such as class IV partial response (PR4) and enhanced PR4 (EPR4) are common due to their good performance on moderate density and high density channels. At higher densities, higher order polynomials such as EEPR4 have been proposed. These partial responses are of the form (1-D)(1+D).sup.n, with n determining the order of the polynomial. As n increases, the high frequency response is attenuated, hence better matching the high frequency attenuation of the magnetic recording channel at high recording densities.
As recording densities increase, the use of trellis-based coding schemes have also been proposed. These include matched spectral null coding schemes based on the matched spectral null theorem. These have been used to increase the minimum distance on the PR4 based target from 22 to 4 and have achieved efficient implementations with practical code rates of 8/10 through the use of time varying trellises.
At higher recording densities with higher order partial responses, run length constrained codes demonstrate improved distance properties. For example, the use of an EEPR4 target with a 2/3 (1,7) code increases the minimum distance from 26 to 210 . Codes achieving the same increase in minimum distance but without the "d=1" constraint such as maximum transition run length (MTR) codes have been proposed for the EEPR4 partial response and finite delay tree search type detectors. These run length constrained codes help simplify the target trellis by eliminating states. Even higher rate codes to achieve the same increase in minimum distance have also been proposed. These include a family of codes and the rate 8/9 code based on a time varying MTR (TMTR) constraint.
Coding to detect and eliminate certain error events on the PR4 channel was considered. The eliminated error events were the ones most likely due to noise correlation from the equalization to the PR4 response. This achieved an increase in detection SNR of .apprxeq.1.25 dB with a rate 8/9 code at recording densities around 2 bits per PW.sub.50.
A single bit parity code is utilized to detect the presence of the identified dominant error events. This coding constraint can achieve a moderate coding gain but with a high code rate which is desirable for high density magnetic recording. For the detection of the coded data, a postprocessor is possible based on correlating the received signal to identify the likely locations of the error events. The most likely event is then corrected.
The basic recording and detection system model is shown in FIG. 5 with the channel response based on the Lorentzian step response. The channel frequency response is EQU H.sub.chan (.function.)=j.pi.PW.sub.50 sin(.pi..function.T)e.sup.-.vertline..pi.PW.sup..sub.50 .sup..function..vertline.
where PW.sub.50 is the half amplitude pulse width and T is the recorded bit period.
The recording channel is often shaped to the required target frequency response G(.function.) through the use of a continuous time and discrete time filter. For the purpose of analysis, the continuous time filter is assumed to band limit the signal and equalize it to the desired response before sampling at the baud rate 1/T. The equalizer is assumed to minimize the mean square error between the equalizer output and the desired target. This requires an equalizer response of ##EQU1##
where S.sub.X (.function.) is the power spectral density of the input data and N(.function.) is the noise power spectral density at the channel output. At the detector input, the signal consists of the input signal shaped to the desired partial response plus correlated noise with a power spectral density of EQU N.sub.d (.function.)=1/+L T(S.sub.X (.function.).vertline.G(.function.)-H.sub.chan(.function.) E(.function.).vertline..sup.2 +N(.function.).vertline.E(.function.).vertline..sup.2).
While this includes distortion, it is considered as Gaussian noise for the purpose of analysis and the noise autocorrelation is assumed to be ##EQU2##
WIth maximum likelihood detection, the error rate performance is determined by the distance between any two allowable data sequences and the noise correlation. The probability of an error event occurring in the presence of correlated noise can be calculated as ##EQU3##
where the error event {e.sub.0, e.sub.1, . . . ,ej} is the difference between any two possible noiseless sequences at the detector input and R(k) is the noise autocorrelation at the detector input. The corresponding error event in terms of channel input symbols will be denoted a.sub.k with EQU e.sub.k =a.sub.k *g.sub.k
where * denotes convolution and the sequence g.sub.k is the inverse D transform of the desired target response G(D).
The optimum target response is the one which whitens the noise at the detector input. While the exact response to achieve this is impractical to implement, a reasonable compromise is to shape the response to a suitable polynomial. While polynomials of the form (1-D)(1+D).sup.n have been used, it is proposed here to use a polynomial of the form (1-D.sup.2)(h.sub.0 +h.sub.1 D+h.sub.2 D.sup.2). The (1-D.sup.2) term provides a null at DC and at the Nyquist frequency which correspond with the DC null and high frequency attenuation in the magnetic recording channel. The h.sub.0 +h.sub.1 D+h.sub.2 D.sup.2 filter allows further high frequency attenuation to be introduced to match the channel response. In order to avoid requirements for multipliers in the detector, the target response should contain simple integer ratios. In particular, the response (1-D.sup.2)(2+2D+D.sup.2) has been determined to perform better at higher recording densities. FIG. 6 shows the magnitude of the proposed target response compared to the EPR4 and the EEPR4 target responses and the Lorentzian channel response at a density of 3.0 bits per PW.sub.50. It can be seen that the proposed target provides additional attenuation at high frequencies and hence should be a better match to the recording channel. The event error rate performance of the proposed target (labeled 6221), the EPR4 target, and the EEPR4 target are plotted in FIG. 7. The plot shows the calculated required channel SNR for an event error rate of 10.sup.-6 based on the probability of the error events occurring and being supported. The SNR is defined here as the ratio of the peak read pulse amplitude to the square root of the channel noise power in the Nyquist band. The (1-D.sup.2)(2+2D+D.sup.2) target performs almost 1 dB better than EEPR4 at channel densities above 3 bits per PW.sub.50. As the response has the same order polynomial as the EEPR4 response, a maximum likelihood detector based on the Viterbi algorithm will have the same number of states in the detector. The difference between the EEPR4 response and the 6221 target is that while the EEPR4 response is symmetric, similar to the ideal channel response, the 6221 target is closer to a minimum phase representation of the channel. This allows the 6221 target to better match the magnitude response of the channel but at the expense of some phase equalization requirements.
TABLE I RANKING OF EVENTS AT A CHANNEL DENSITY OF 3.0 BITS/PW.sub.50 Event .+-. .alpha..sub.k SNR level (dB) +2 -2 +2 0.00 +2 -2 +2 -2 +2 0.80 +2 -2 +2 -2 +2 -2 1.35 +2 -2 +2 -2 +2 -2 +2 -2 +2 1.37 +2 -2 +2 -2 +2 -2 +2 -2 +2 -2 1.38 . . . . . .
TABLE II RANKING OF EVENTS AT A CHANNEL DENSITY OF 3.5 BITS/PW.sub.50 Event .+-. .alpha..sub.k SNR level (dB) +2 -2 +2 0.00 +2 -2 +2 -2 +2 1.36 +2 -2 +2 -2 +2 -2 1.73 +2 -2 +2 0 0 +2 -2 +2 1.74 +2 -2 +2 -2 +2 -2 +2 -2 +2 1.89 . . . . . .
The error rate performance of the system depends on the likelihood of error events occurring and the noise correlation. As the recording density increases, the optimum target response changes and the likelihood of particular error events change relative to each other. Using the system model to calculate the noise autocorrelation and enumerating the possible error events, the relative likelihood of possible error events can be ranked. Tables I and 11 list the most likely error events for the (1-D.sup.2)(2+2D+D.sup.2) target, taking into account noise correlation for channel recording densities of 3.0 and 3.5 bits per PW.sub.50. The tables are based on a calculated error rate of 1.times.10.sup.-6, and the likelihoods are expressed in terms of effective SNR above the most likely event. It can be seen that the events a.sub.k ={+2,-2,+2} and a.sub.k ={+2,-2,+2,-2,+2} are the most likely at these densities. If the effect of these two events can be eliminated through coding, then a coding gain can be achieved. FIG. 8 shows the calculated performance of the (1-D.sup.2)(2+2D+D.sup.2) target with the two most likely error events eliminated, the EEPR4 target performance with all the events with squared distance less than 40 eliminated and the EPR4 detector performance for reference. The (1-D.sup.2)(2+2D+D.sup.2) target performs well with both coded schemes performing .apprxeq.3 dB better than EPR4 at a density of 3.5 bits per PW.sub.50 . Thus, the combination of the modified target and elimination of the two most likely error events should result in a considerable performance improvement.
As the dominant error events are a.sub.k ={+2,-2,+2} and a.sub.k ={+2,-2,+2,-2,+2}, a code to detect the occurrence of these error events is required. It can readily be seen that a single bit parity check block code can be used to detect these error events. Consider a parity code of length N. Whenever one of the error events occurs within a code word, three or five bits are inverted causing a parity violation. If the error event spans the boundary of two code words, then there will be an odd number of inverted bits in one of the code words causing its parity check to be violated. Hence, the use of a single bit parity code allows the dominant error events on the high density recording channel to be detected when equalized to the proposed target response. The decoder can then pick the most likely data pattern which does not violate the parity constraint.
While an event length parity code with odd parity can provide some run length constraints with a rate (N-1)/N, stricter constraints may be required to ensure sufficient timing and gain recovery information. An interleaved run length constraint is also required to ensure Viterbi path merging on a target with a Nyquist and DC null.
The recorded data may be allowed to contain sequences that support the dominant error events, but that coding is employed to detect when a single such error event occurs and allow soft decision correction of it. This is in contrast to coding schemes proposed for the EEPR4 channel such as the 2/3 (1,7) code and MTR coding. These codes achieve coding gain by preventing any pattern that supports a minimum distance error event from being written. With an EEPR4 target response, these codes increase the minimum squared distance from 24-40. However, the constraints required limit the achievable capacity to .apprxeq.0.6942--for the d=1 constraint and .apprxeq.0.8732--for the MTR constraint.
Other coding schemes have also been proposed that increase the minimum squared distance from 24-40 with the EEPR4 channel. These include the family of codes with capacities up to and above 0.8791 and the TMTR code with a capacity of 0.9032. The codes proposed here can achieve similar or higher rates to these codes due to their higher capacity, for example, a parity code of length 18 has a capacity 17/18 (=0.9444). This allows more flexibility to provide other desirable features such as short run length constraints.
In particular, by enumerating the valid code words, it can be shown that a rate 16/18 code with odd parity, a global runlength constraint of 6 consecutive identical bits, and an interleaved constraint of 8 consecutive identical bits exists.
An even higher rate code can be constructed to meet run length requirements and the parity constraint. Consider a rate 16/17(0,6/6) code which consists of freely concatenateable code words of length 17. If at the end of each pair of code words (34 bits) an additional parity bit is appended, the result is a 32/35 (0,7/7) code.
While a time varying trellis incorporating the target response and the parity constraint could be constructed, it would require twice the number of states than the target response on its own. This would require a considerably more complex detector. However, decoding may be achieved through the use of a post processor. The basic detector structure is shown in FIG. 9 and is based on a Viterbi detector matched to the channel response G(D)=(1-D.sup.2)(2+2D+D.sup.2). The Viterbi outputs x.sub.k are used to reconstruct an estimate of the equalized samples y.sub.k. This is used to calculate an estimate of the noise on the equalized samples EQU n.sub.k =y.sub.k -y.sub.k.
These noise estimates are correlated with the two likely error events to produce a noise correlation for each event at each bit time. The correlation filter is the error event convolved with the channel response all reversed in time. For example, the a.sub.k ={+2,-2,+2} error event requires a correlation filter response of ##EQU4##
A similar filter is used for the a.sub.k ={+2,-2,+2,-2,+2} event. The noise correlation values are only considered valid if the estimated bits x.sub.k support the error event.
At each bit time the maximum of the valid noise correlation values and the corresponding type of error event is stored. At each code word boundary, the parity constraint on the estimated bits is checked if the parity constraint is violated, the maximum valid noise correlation value over the length of the code words and across its boundaries is identified. The estimated bits x.sub.k corresponding to the error event associated with this maximum value are complemented under the assumption that the largest noise correlation value is the most likely position and error event to have occurred.
The use of such a postprocessor avoids increasing the complexity of the Viterbi detector, particularly when only a small number of error events need to be detected.
The proposed target and coding scheme were simulated using a software simulation based on the Lorentzian channel response with Gaussian white noise. FIG. 10 shows the required SNR for an error event rate of 10.sup.-6. The plot shows the 6221 target with the 16/18 parity code and postprocessor and the EEPR4 target with the MTR code. The plot also shows the EPR4, EEPR4, and 6221 detection systems with no coding. The coded systems perform well with 3 dB gain over EPR4 at a recording density of 3.5 bits per PW.sub.50. The MTR coded EEPR4 system performs better than the 6221 coded system but has a lower code rate. In practice, the code rates achievable have a significant impact as the required channel SNR increases rapidly as the recording density increases.
FIG. 11 shows the simulated performance of a number of detection schemes versus user bit density. These include:
EPR4 with rate 16/17 code;
EEPR4 with rate 5/6 MTR code;
EEPR4 with rate 8/9 TMTR code;
6221 Target with rate 16/18 parity code;
6221 Target with rate 32/35 parity code.
This plot shows that the performance of the 6221 target with the rate 16/18 parity code performs better than the MTR coded EEPR4. The rate 32/35 code performs even better again providing .apprxeq.2 dB gain over the EPR4 channel at a user density of 3 bits per PW.sub.50. The 8/9 TMTR code with EEPR4 performs at a similar level. In practice, nonlinear impairments in the recording process become significant at higher recording densities further motivating the desire to use the highest code rates possible. However, the above illustration does not take into consideration the effect of the precoder. Inserting the parity bit upstream in the data or before the precoder can cause considerable adverse effects. With any coded data there are boundaries between the blocks of data. By placing the parity bit before the precoder, this requires the parity bit to be removed after the postcoder. This causes uncorrectable problems when the parity bit is inserted between the data blocks.